import java.util.ArrayList;


public abstract class ItemDecorator extends Items
{
	protected Items items;
	public ItemDecorator(Items i)
	{
		items=i;
	}
	
	public abstract double getPrice(Item i);
	public Item buyItem(CustomerAccount account)
	{
		return items.buyItem(account);
	}
	public Item borrowItem(CustomerAccount account)
	{
		return items.borrowItem(account);
	}
	public boolean returnItem(int type)
	{
		return items.returnItem(type);
	}
	public void addToList(CustomerAccount cus){
		items.addToList(cus);
	}
	public int getTotal() {
		return items.getTotal();
	}


	public void setTotal(int total) {
		items.setTotal(total);
	}


	public int getAvailable() {
		return items.getAvailable();
	}


	public void setAvailable(int available) {
		items.setAvailable(available);
	}


	public ArrayList<Item> getItemList() {
		return items.getItemList();
	}


	public void setItemList(ArrayList<Item> itemList) {
		items.setItemList(itemList);
	}


	public ArrayList<CustomerAccount> getCustomerQueue() {
		return items.getCustomerQueue();
	}


	public void setCustomerQueue(ArrayList<CustomerAccount> customerQueue) {
		items.setCustomerQueue(customerQueue);
	}

	public void setName(String name)
	{ 	
		items.setName(name);
	}
	public void addItem(Item i)
	{
		items.addItem(i);
	}
	public void addDVD(int num)
	{
		items.addDVD(num);
	}	
	public void addBlueray(int num)
	{
		items.addBlueray(num);
	}
	public void itemOut()
	{
		items.itemOut();
	}
	public void itemIn()
	{
		items.itemIn();
	}
	public int getNumberAvailable()
	{
		return items.getNumberAvailable();
	}
	public int getNumberNotAvailable()
	{
		return items.getNumberNotAvailable();
	}
	public String getName()
	{
		return items.getName();
	}
}
